1. Field of the Invention
The present invention generally relates to computer systems, and more specifically to a method and system for accessing interrelated computer files, particularly files distributed across a network, such as pages on the World Wide Web of the Internet, using viewing software such as a web browser that provides hypertext links between interrelated pages.
2. Description of Related Art
A generalized client-server computing network 2 is shown in FIG. 1. Network 2 has several nodes or servers 4, 6, 8 and 10 which are interconnected, either directly to each other or indirectly through one of the other servers. Each server is essentially a stand-alone computer system (having one or more processors, memory devices, and communications devices), but has been adapted (programmed) for one primary purpose, that of providing information to individual users at another set of nodes, or workstation clients 12. A client is a member of a class or group of computers or computer systems that uses the services of another class or group to which it is not related. Clients 12 can also be stand-alone computer systems (like personal computers, or PCs), or "dumber" systems adapted for limited use with network 2 (like network computers, or NCs). A single, physical computer can act as both a server and a client, although this implementation occurs infrequently.
The information provided by a server can be in the form of programs which run locally on a given client 12, or in the form of data such as files that are used by other programs. Users can also communicate with each other in real-time as well as by delayed file delivery, i.e., users connected to the same server can all communicate with each other without the need for the network 2, and users at different servers, such as servers 4 and 6, can communicate with each other via network 2. The network can be local in nature, or can be further connected to other systems (not shown) as indicated with servers 8 and 10.
The construction of network 2 is also generally applicable to the Internet. In the context of a computer network such as the Internet, a client is a process (i.e., a program or task) that requests a service which is provided by another program. The client process uses the requested service without having to "know" any working details about the other program or the service itself. Based upon requests by the user, a server presents filtered electronic information to the user as server responses to the client process.
Conventional protocols and services have been established for the Internet which allow the transfer of various types of information, including electronic mail, simple file transfers via FTP (file transfer protocol), remote computing via Telnet, "gopher" searching, Usenet newsgroups, and hypertext file delivery and multimedia streaming via the World Wide Web (WWW). A given server can be dedicated to performing one of these operations, or running multiple services. Internet services are typically accessed by specifying a unique address, or universal resource locator (URL). The URL has two basic components, the protocol to be used, and the object pathname. For example, the URL "http://www.uspto.gov" (home page for the United States Patent & Trademark Office) specifies a hypertext transfer protocol ("http") and a pathname of the server ("www.uspto.gov"). The server name is associated with a unique numeric value (a TCP/IP address, or "domain").
The present invention relates to accessing computer files, particularly those that are distributed on a network like the Internet, and more particularly to those accessed using the WWW, which provides files that are conveniently linked for user access. For example, as illustrated in FIG. 2, a group 14 of files or pages 16a-16h are interrelated by providing hypertext links in each of the files (group 14 may thus be considered a typical web site). A hypertext link is any image that is viewable on the workstation's display 18, which can be selected by the user (e.g., using a pointing device or "mouse") and which then automatically instructs client workstation 12 to request another page associated with that particular hypertext link (i.e., issue another URL). A hypertext link may appear as a picture, or as a word or sentence, possibly underlined or otherwise accentuated to indicate that it is a link and not just normal, informative text.
A WWW page may have text, graphic (still) images, and even multimedia objects such as sound recordings or moving video clips. A hypertext page, if more than just text, is usually constructed by loading several separate files, e.g., the hypertext file "main.html" might include a reference to a graphic image file "picture.gif" or to a sound file "beep.wav". When a client workstation 12 sends a request to a server for a page, such as page 16a, the server first transmits (at least partially) the main hypertext file associated with the page, and then loads, either sequentially or simultaneously, the other files associated with the page. A given file may be transmitted as several separate pieces via TCP/IP protocol. The constructed page is then displayed on the workstation monitor 18 as shown in FIG. 2. A page may be "larger" than the physical size of the monitor screen (i.e., larger than the software-programmed "window" provided for viewing the page), and techniques such as scroll bars are used by the viewing software (the web browser) to view different portions of the page. Selection of a hypertext link sometimes opens a new (second) browser window to receive the requested page.
One problem that frequently occurs during navigation of a web site relates to the repetitious and slow process of viewing multiple links within a web page. For example, a user might want to review several chapters of a book or instruction manual that is provided on the WWW in the form of a main page that acts as a table of contents, and many other pages which each constitute one of the chapters of the book or manual. The web site may be constructed such that the user can only access a particular chapter from the main (table of contents) page. Thus, the user would be required to enter a cumbersome sequence of multiple mouse clicks to examine multiple links in a page. When a user clicks on a URL which is brought up in the current window, and after the user is finished with the retrieved page, the user must select the "Back" button in the browser to reload the previous page (a keystroke combination entered on the keyboard may also be used to activate the "Back" feature), and then select another page from the table of contents. This back-and-forth sequence between viewing a particular chapter and viewing the table of contents page must be repeated for each chapter.
This problem is aggravated if several links are taken from the main page, e.g., to footnotes that are provided as links within a given chapter. If this occurs, then the "Back" button will have to be hit for each page visited, which can be very time consuming, especially with the growing use of the Internet and since the user has to wait until the previous page has started to download to the browser before the "Back" button can be pressed again. Although the pages are often stored in a cache memory locally in the computer, many web pages now require reconnection with the host server before the page can be fully reloaded, which can take a significant amount of time.
Another method that can be used return to a previous page, without using the "Back" button, is the "history" window or menu which is available on most browsers. The history window is essentially a list of URLs visited in a given session. The history table, however, has its limitations. First, the average user is not familiar with the history feature, because it is embedded within a pull-down window (i.e., not presented in the main browser window as a button). Secondly, the user must locate the URL of the desired previous page from among the list of possibly many URLs in the history table. Finally, even if the user can jump directly back to the desired page, this window must reload within the browser, which can again take several minutes, and slows down the computer since more resources are being used to present the page (audibly and/or visually).
With current web browsers, link selection methods are thus very limited, and no support is provided to simplify accessing multiple links on a given page. It would, therefore, be desirable to devise a method and system of accessing computer files, such as WWW pages, which allowed multiple links to be selected. It would be further advantageous if the method and system supported such multiple link selection without having to backtrack to the page that contains multiple selections.